#ifndef WORLD_H
#define WORLD_H

#include "ABObserver.h"
#include "Singleton.h"
#include <vector>

class GameObject;
class hgeFont;

class World : public ABObserver, public Singleton<World>
{
public:
	World();
	virtual ~World();

	virtual void Notify(const Event* a_event);
	
	void Initiate();
	void Update(float a_dt);
	void Render(float a_dt);
	void Cleanup();

	void SetNeedlePos(float a_pos) { m_needlePos = a_pos; }

private:
	float m_needlePos;
	GameObject* m_pGraphBackground;
	GameObject* m_pGraphNeedle;
	std::vector<GameObject*> m_fatherGraphNodes;
	std::vector<GameObject*> m_motherGraphNodes;
	//FPS stuff
	char* m_textBuffer;
	hgeFont* m_pText;
	
};

#endif //WORLD_H